Color printer technology

ABSTRACT

The invention provides a method of printing at a POS of register receipts and marketing information in which the required network bandwidth and quantity of ink are both reduced. SVG files are used to specify communications, associated modified image objects are stored locally to the POS, and associated modified image objects are modified version of original objects in which color values are replaced with other color values that result in the same print image, but with printing of less ink.

CROSS REFERENCE TO RELATED APPLICATIONS

This application claims priority to provisional application 60/742,909filed Dec. 7, 2005, attorney docket reference PIP185MOUNP-US, entitled“POS Network Including Color Printing and Color Highlighting” andprovisional application 60/778,410 filed Mar. 3, 2006, attorney docketreference PIP189MOUNP-US entitled “POS Network Including Color Printingand Color Highlighting” the entire contents of which are incorporatedherein by reference.

FIELD OF THE INVENTION

This invention is directed to color printing at the Point Of Sale (POS).

DISCUSSION OF THE BACKGROUND

Herein, RS is an acronym for retail store.

Herein, ID is an acronym for identification.

Herein, CS is an acronym for computer system.

Herein, POS is an acronym for point of sale.

Herein, SVG is an acronym for scalable vector graphics. Scalable VectorGraphics (SVG) is an XML markup language for describing two-dimensionalvector graphics, both static and animated, and either declarative orscripted. It is an open standard created by the World Wide WebConsortium.

Herein, SVG means any XML markup language for describing two-dimensionalvector graphics.

Herein, CID is an acronym for a customer identification.

Scalable Vector Graphics

Scalable Vector Graphics (SVG) is an XML markup language for describingtwo-dimensional vector graphics, both static and animated, and eitherdeclarative or scripted. It is an open standard created by the WorldWide Web Consortium. SVG allows three types of graphic objects: Vectorgraphic shapes (e.g. paths consisting of straight lines and curves, andareas bounded by them); Raster graphics images/digital images; and text.Graphical objects can be grouped, styled, transformed and compositedinto previously rendered objects. Text can be in any XML namespacesuitable to the application, which enhances searchability andaccessibility of the SVG graphics. The feature set includes nestedtransformations, clipping paths, alpha masks, filter effects, templateobjects and extensibility. SVG drawings can be dynamic and interactive.The Document Object Model (DOM) for SVG, which includes the full XMLDOM, allows straightforward and efficient vector graphics animation viaECMA Script or SMIL. A rich set of event handlers such as “mouseover”and “onclick” can be assigned to any SVG graphical object. Because ofits compatibility and leveraging of other Web standards, features likescripting can be done on SVG elements and other XML elements fromdifferent namespaces simultaneously within the same web page. SVG imagescan be saved with gzip compression, in which case they may be called“SVGZ files”.

Color Mapping

The RGB color model is an additive model in which red, green and blue(often used in additive light models) are combined in various ways toreproduce other colors. The name of the model and the abbreviation “RGB”come from the three primary colors, Red, Green and Blue.

CMYK (sometimes spelled YMCK or CYM) is a subtractive color model usedin color printing. This color model is based on mixing pigments of thefollowing colors in order to make other colors: C=cyan; M=magenta;Y=yellow; K=key (black). The mixture of ideal CMY colors is subtractive(cyan, magenta, and yellow printed together on white result in black).CMYK works through light absorption. The colors that are seen are fromthe part of light that is not absorbed. In CMYK, magenta plus yellowproduces red, magenta plus cyan makes blue and cyan plus yellowgenerates green.

Color models do not define what is meant by each color, and the resultsof mixing them are not exact unless the exact spectral make-up of thethe colors are defined. The color model then becomes an absolute colorspace, such as sRGB or Adobe RGB. An absolute color space is a colorspace in which colors are unambiguous, where they do not depend on anyexternal factors. A popular way to make a color space like RGB into anabsolute color is to define an ICC profile, which contains theattributes of the RGB. This is not the only way to express an absolutecolor, but it is the standard in many industries. RGB colors defined bywidely accepted profiles include sRGB and Adobe RGB. The process ofadding an ICC profile to a graphic or document is sometimes calledtagging; tagging therefore marks the absolute meaning of colors in thatgraphic or document. The International Color Consortium (CCC) was formedin 1993 by eight industry vendors in order to create a universal colormanagement system that would function transparently across all operatingsystems and software packages.

sRGB color space, or standard RGB (Red Green Blue), is an RGB colorspace created cooperatively by Hewlett-Packard and MicrosoftCorporation. It has been endorsed by the W3C, Exif, Intel, Pantone,Corel, and many other industry players. It is also well accepted by OpenSource software such as the GIMP, and is used in proprietary and opengraphics file formats such as SVG.

sRGB defines the red, green, and blue primaries as colors where one ofthe three channels is at the maximum value and the other two are atzero. In CIE xy chromaticity coordinates red is at [0.6400, 0.3300],green at [0.3000, 0.6000] and blue is at [0.1500, 0.0600] and the whitepoint is the D65 white point at [0.3127, 0.3290]. sRGB has beencriticized for poor placement of these primary colors. If you restrictthe indexes to the 0-to-1 range you are unable to address outside thegamut (the triangle produced by them), which is well inside the set ofvisible colors to a human.

sRGB also defines a non-linear transformation between the intensity ofthese primaries and the actual number stored. The curve is similar tothe gamma response of a CRT display. It is more important to replicatethis curve than the primaries to get correct display of an sRGB image.This non-linear conversion means that sRGB is a reasonably efficient useof the values in an integer-based image file to displayhuman-discernable light levels.

The ICC specification allows for fidelity of color when moved betweenapplications and operating systems, from the point of creation to thefinal print. The main emphasis of the ICC is to define a format for ICCProfiles, which describe the color attributes of a particular device orviewing requirement by defining a mapping between the source or targetcolor space and a profile connection space (PCS). This PCS is eitherL*a*b* or CIE XYZ color space. Mappings may be done using tables, towhich interpolation is applied, or through a series of parameters fortransformations.

To see how this works in practice, suppose we have a particular RGB andCMYK color space, and want to convert from this RGB to that CMYK. Thefirst step is to obtain the two ICC profiles concerned. To perform theconversion, each RGB triplet R,G,B is first converted to the PCS usingthe RGB profile. If necessary the PCS is converted between L*a*b* andCIE XYZ, a well defined transformation. Then the PCS is converted to thefour values of C,M,Y,K required.

Formula for converting from RGB to CMYK colors are well known. See forexample the conversion formula specified athttp://en.wikipedia.org/wiki/CMYK_color_model.

Color Printers and Printer Media

Ink from a color printer is typically shot at the paper, propelled tothe paper, in shots. Each shot of ink of the same color has the samevolume of ink. Thus, shots and volume of ink are synonymous. Colorprinter drivers typically render print files to a flat file forprinting.

Thus, printer driver software would render a single flat print file froman SVG file and the multiple image files the SVG file referenced.

Printers print to sheet or tape material, typically a paper. Thesematerials have the following quantifiable properties: basis weight;caliper; thickness; density; tensile strength; smoothness;brightness/whiteness; gloss; opacity; tearing strength; porosity; airpermeance; elasticity; ink bleed; and abrasion. These quantities maycharacterize, amongst other things, hydrophilic versus hydrophobicproperties, fiber orientation, density, and composition.

Most color printers print based upon a CMYK standard, and theyinternally convert image data in RGB format to a CMYK format prior toprinting. Most if not all color printer drivers do not now incorporatethe SVG standard, that is, they do not render SVG files.

DISCLOSURE OF THE INVENTION Objects of the Invention

It is one object of the invention to reduce the amount of ink used toprint certain image objects.

It is another object of the invention to reduce the amount of networkdata transfer required to print marketing information at the POS.

It is another object of the invention to provide color printing ofpurchase transaction information and marketing information at the POS.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a schematic view of a network computer system 1;

FIG. 2 is a schematic view of an embodiment of local computer system ofFIG. 1;

FIG. 3 is schematic of a data structure included in central CS database10A;

FIG. 4 is a schematic of a data structure included in POS computerdatabase 20A;

FIG. 5 a schematic of a data structure included in incentive computerdatabase 30A;

FIG. 6 a schematic of a data structure included in POS color printerdatabase 40A; and

FIG. 7 is a flow chart showing an overview of a method of use of networkCS 1.

BRIEF SUMMARY OF THE INVENTION

These and other objects are provided by a novel network computer system,including a central CS remote from a RS, a local CS local to the RS, anda POS color printer in the RS. A database of image object files isstored local to the RS. A database of SVG files is stored by the centralCS. At least one of the SVG files references an image object in theimage objects database. Each such SVG file defines vector locations andsizes (scale) for the image objects it references. Each such SVG fileand the files it references defines data necessary to print acorresponding marketing communication.

The central CS transmits in association with a CID at least one SVG fileto the local CS. When the local CS subsequently recognizes a purchasetransaction is occurring that involves that CID, the local CS employsthe SVG file associated with the CID to print the correspondingmarketing communication along with the register receipt for the purchasetransaction.

The central CS preferably also stores the image object database orlibrary including version of the image objects, versions of each SVGfile, and the latest version information for versions to be sent to eachRS. Each RS may receive different image objects, SVG files, and versionsthereof. The central CS generates and transmits to each local CS imageobject files database updates for image object versions thecorresponding RS will need to print new or updated SVG files referencingthose new or updated image objects.

The image objects database would for example include background imagefield files, such as various color field files, that are image fieldcomponents of potentially more than one coupon defined using a SVG file.For example all coupons for all products of a specified manufacturer mayuse a certain background image file.

The central CS implements rules to determine marketing communications toassociate with each CID. The central CS associates the corresponding SVGfiles with the CID. Image object files referenced by the SVG files arestored in the local CS of the retail store. Recognition of the CID in atransaction at the local store results in a POS color printer printingthe marketing communication based upon the SVG file associated with thatCID.

Ink used in color printing is minimized by printing only the minimumnumber of ink shots of the various colors (Cyan, Magenta, Yellow, andoptionally Black) required to result in a print have that desired color.Typically, the four different ink colors are used to generate a printcolor by shooting shots of each color of ink at paper. Printer driversoftware typically instructs the printer to shoot more shots of eachcolor of ink than the minimum number of ink shots of the various colorsrequired to result in a print of a specified color.

The minimum number of ink shots of each color that results in aparticular print color (herein after referred to as the minimum numberof ink shots) may depend upon printer driver software, printer brand,printer paper properties, and classification of the image object'sproperties including whether it is background, foreground, text, andquantification of the image object in print dimensions including lengthin x and y coordinates and total area.

As an example, assume a digital representation of a dark magentabackground may indicate particular conventional color inkjet printerdriver to use 20 ink shots per pixel. The minimum number of ink shotsrequired to produce that color in print is determined, by examination ofcolor of printed matter, for text to be only 5 magenta ink shots, insmall cross section foreground material to be only 8 magenta ink shots,and in large area canvass background to be only 12 magenta ink shots.

The invention provides for generating a modified image object instead ofan original image object, and then printing the modified image object,so that only the minimum number of ink shots are used for each point inthe print to achieve the specified print color. The modified imageobject contains data defining each original color in the original imageobject with data defining a modified color. The data defining themodified color is data that results in printer driver software printingthe minimum number of ink shots that result in print of the originalcolor, or a number of ink shots of each color nearly equal to theminimnum number of ink shots that result in print of the original color.

Returning to the example, the invention provides a modified image objectbackground that replaces the original magenta color data with data for alighter shade of magenta that will result printing only the 12 magentaink shots per pixel required to reproduce the desired print color.

Not all combinations of shots of cyan, magenta, yellow, and black existas colors in a color map. It may be that some sets of minimum number ofink shots does not exactly correspond to colors. In that case, a colorwhose set of ink shots is most nearly equal to the set of minimum numberof ink shots may be selected to correspond thereto. Most nearly equalmay be determined for example by choosing the color having the smallestleast squares value of the differences of the number of ink shots forCYMK in the set of minimum number of ink shots and the set of ink shotsassociated with each color in the CYMK color space.

The minimum number of CMYK ink shots may be determined for a set ofmeasured colors. An interpolation and/or extrapolation of the minimumnumber of ink shots from the set of measured colors may then be used todetermine a minimum number of ink shots for all colors in the colorspace. The presently preferred color is an RGB color space that has256,000 digital color definitions, each for a different color. A colorin the color space (that is, a digital representation of a color) nearlyequal to the minimum number of ink shots may be selected in variousways. For example, the color may be selected by determining which colorin the color space has the minimum least squares difference to the colorin the color space specified by the minimum number of ink shots, andselecting that color. Since most color printers print based upon CMYKsoftware must convert the RGB datum to CMYK datum at or prior totransmission of data to the printer. Current printers typically performthis RGB to CMYK conversion internally. Thus, it is sufficient to definecolors in RGB that correspond to minimum number of ink shots for anoriginal image object digitally defined in an RGB color space.

The foregoing image object database or library is formed by startingwith a set of original image objects (preferably represented using RGB)and generating modified image objects (preferably represented using RGB)as specified above. For each original image object, there may be aplurality of modified image objects or versions, each of which isassociated with meta data. The meta data may define a correspondingpaper properties or paper type, printer type, print driver, dimensionsand z position of the image object. (Thus, each original object may beassociated with a set of original image object files each of whichdiffers in one or more of the associated properties.) The central CStracks SVG files specifying marketing communication markup data,associated with each RS, determines what subset of the image objectsdatabase that RS requires to print its SVG files, and transmits thatsubset of image objects to that RS's local CS.

The inventors have found that the minimum number of ink shots requiredto print a large area may exceed the number of ink shots required toprint the same color to a small area, and the minimum number of inkshots required to print lighter colors exceeds the minimum number of inkshots to print darker colors.

The image objects in the image objects database are components of imagesincluded in marketing communications printed at the POS. The marketingcommunications may be coupons. The marketing communications may includeimage elements for manufacturer logs, brand logos, product logos,product pictures, backgrounds, highlights, watermarks, and coupon orcommunication borders such as peripheral regions of rectangles.

The amount of ink required depends in part upon the lateral (in theplane of the paper) bleed of ink—how far it spreads. Hence, one obviousvariation would be to skip printing at certain pixels, such as alternatepixels, if lateral bleed in a specified paper were sufficient so thatink from alternate pixels would merge in the paper to reproduce thedesired color at the non printed pixel locations. In conjunction withthat, printing could optionally include all edge pixels, to preventfuzzy edging. Finally, black ink for printing bar codes could bereplaced by printing bars in blue or blue and black.

DETAILED DESCRIPTION OF THE EMBODIMENTS

FIG. 1 schematically shows computer network system 1 including centralCS 10, central CS database 10A, local CS 80 for retail store RS1, andwide area network (WAN) 70. In addition, FIG. 1 shows WAN 70 connectingto CSs for retail store RS2, etc.

FIG. 1 shows RS1 (retail store 1) in dashed lines enclosing local CS 80schematically indicating that local CS 80 operates to support operationsof retail store 1, including logging transaction data, performingaccounting functions, and providing register receipts at POSs in RS1.RS2, RS3, etc. indicate the existence of additional retail stores havinglocal CSs similar to local CS 80 and all enabled to communicate withcentral CS 10 via WAN 70.

Preferably, WAN 70 is a packet switched network employing TCP/IP.Preferably, WAN 70 is the Internet. WAN 70 may a private network.

Preferably, each CS includes at least one digital central processingunit, memory, and operating system software. Lines between CS,databases, and WAN 70 each indicate a means for data transmission, suchas network cards, data cables, and wireless transmission and receptionhardware. In all embodiments, databases shown having a line connectingto a CS indicate that the CS controls read and write access to thedatabase.

Local CS 80 and central CS 10 can communicate via WAN 70.

FIG. 2 shows one embodiment of local CS 80 for RS1. Local CS 80 includesPOS computer 20, POS computer database 20A, incentive computer 30,incentive computer database 30A, POS color printer 40, POS color printer40A, POS terminal 50, and LAN 60. In RS1, each POS terminal has anassociated POS color printer nearby. RS1 may include a plurality of POSterminals and corresponding POS color printers adjacent each POSterminal.

POS computer 20 receives transaction data over LAN 60 from each POSterminal 50. POS computer 20 functions to track product inventory stock,product item costs, sales proceeds, and finances for RS1, storingrelevant information in POS computer database 20A.

Incentive computer 30 functions to determine when, and optionally insome cases, what, marketing communications POS color printer 40 prints.Incentive computer 30 preferably also stores in incentive computerdatabase 30A transaction data for transactions that occurred at the POSsin RS1, and also stores marketing information in association with CIDs.Preferably, Incentive computer database 30A stores SVG renderingsoftware including an SVG library enabling incentive computer 30 torender into a single image object the individual image objects and textidentified in an SVG file. Incentive computer 30 would then transmitthat single image object file in Windows (trademark) Graphic DeviceInterface (GDI) format to POS color printer 40.

POS color printer 40 prints marketing communications and preferably alsoprints register receipts. Each or both may be printed in color. POScolor printer database 40A includes printer driver software, preferablyincluding RGB to CMYK conversion software. Optionally, POS color printerdatabase 40A includes SVG rendering software including an SVG libraryenabling POS color printer 40 to both render into a single image objectthe individual image objects and text identified in an SVG file, andthen print SVG file.

In a currently preferred embodiment, POS color printer 40 driversoftware includes code for interpreting Windows (trademark) GraphicDevice Interface (GDI) format files, and for converting in those filesRGB image data to CMYK image data.

POS terminal 40 preferably includes transaction data input mechanisms,such as scanners for scanning UPC codes and customer identificationcards, and a keyboard. It may also include customer biometric datareaders and a microphone. POS terminal 40 functions to identify thebeginning and end of purchase transactions, to obtain a CID and productidentifications for products being purchased in association with theCID. POS terminal 40 also transmits the transaction data (productidentifiers, CID, POS ID, etc) over LAN 60 to POS computer 20 andpreferably incentive computer 30. POS terminal 40 may also function tolook up pricing and discounting information, or to request thatinformation from POS computer 20 via LAN 60.

LAN 60 preferably includes one or more digital network switches enablingit to route packets containing destination address information to theappropriate network address.

In one alternative embodiment, POS computer 20 may perform all functionsassociated herein with incentive computer 30 in which case POS computerdatabase 20A includes the data structures disclosed herein inassociation with database 30A.

POS computer database 20A or incentive computer database 30A may storeall data disclosed herein for POS color printer database 40A, in whichcase POS computer 20 or incentive computer 30 performs the processingfunctions disclosed herein for printer 40.

POS color printer 40 may be connected directly to POS computer 20instead of via LAN 60.

In other embodiments, POS color printer driver software and SVG filerendering software may reside in any database in local CS 80, and may beinvoked by any of the computers in local CS 80. Other modifications ofthe local network architecture are obvious to one skilled in the artthat preserve the existence of the WAN connection between the central CSand one or more local CS each associated with a RS.

FIG. 3 shows a relational database embodiment of central CS database10A. However, other data structures may accomplish the same result,providing the same or similar data relationships.

FIG. 3 shows a schema in table design views of tables 310, 320, 330,340, 350, and 360, and table relationships 315, 325, 335, 345, and 355.Relationships 315 and 325, are one to many relationships. Relationships335, 345, and 355 are one to one relationships.

Image objects table 310 stores image objects and their properties. Table310 includes fields for image object, Image object identification(IOID), and image object properties (prorp1, prop2, etc.). Herein all“ID” fields are some form of identification for associated data.Properties of the image object include intended layer position(foreground, background), image dimensions, color or colors. The imageobjects contained in 310 preferably are modified image objects for anoriginal image object, modified as described herein to reduce the amountof ink used to generate a print similar in color to the original imageobject.

Relationship 315 indicates that Image Object ID field IOID in 310contains the same type of data (image object identification data) asIOID fields in table 320.

Marketing communications table 320 stores in associated fields an SVGand the image object that SVG references. Table 320 has fields for SVG,SVGID, and IDs of associated image objects IOID1, IOID2, IOID3, etc.

Table association 325 indicates that data in the SVGID field in table320 is the same type of data as data in the SVGID1, SVGID2, SVGID3,etc., fields, in table 330.

Table 330 stores IDs of those SVGs associated with each RS. That is,table 330 stores for each RS IDs of only those SVGs associated with CIDsassociated with those stores. The number of SVGs associated with anyparticular RS may be a small subset of all SVGs stored by central CS 10in database 10A.

Table 330 associates fields for RS identification (RSID) with fields fora set of SVG identifications, SVGID1, SVGID2, SVGID3, etc.

Targeting table 340 contains targeted marketing communication triggerdata. Table 340 stores in association with a CID marketingcommunications for the corresponding customer (SVG files) and the retailstore ID associated with purchases by the corresponding customer. Thedata in table 340 is transmitted to local CS 80. Local CS 80 can thentrigger rendering of an SVG and then printing of the marketingcommunication defined by the rendered SVG file. Local CS 80 can do thisduring a transaction when the local CS matches a CID entered at POSterminal with a CID received from central CS 10.

Targeting determinations table 350 contains data that central CS 10 usesto determine what marketing communications to target to each CID. Table350 contains fields for RSID, targeting criteria, marketingcommunication, and SVGID. Each marketing communication is associatedwith an SVG file. Each marketing communication is targeted for deliverto a particular CID only if targeting criteria are met for that CID.Targeting criteria frequently depend upon product purchases associatedwith that CID in some prior time period, which is the data stored inproduct purchase history table 360. Thus, central CS 10 may apply thetargeting criteria in table 350 to data associated with a CID in productpurchase history table 360 to generate data in table 340.

Product purchase history table 360 contains field for storing inassociation with one another RSID, CID, date, total (currency amounttotal for a purchase transaction), and product identifier, quantity ofthat product, and price of that product (UPC1, NUPC1, PUPC1, respective,and UPC2, NUPC2, PUPC2, respective, etc,), and coupon identifiers andcoupon discount amounts (C1, D1, respectively, C2, D2, respectively,etc.).

Generally speaking, tables 310, 320, 330, enable central CS to trackSVGs and image objects files previously transmitted to each RS andtherefore to determine and transmit to each RS SVG files and imageobjects data not previously transmitted to that store but currentlyassociated with that RS via table 340. Tables 340, 350, and 360, enablecentral CS to associate with each CID targeted marketing communications(and corresponding SVG files) for consumers that have purchased in theRS.

An example of associated (1) targeting criteria and (2) marketingcommunication are (1) existence of UPC for a quart of milk in animmediately preceding 30 day period from the current time and (2) acoupon for a particular dry cereal product.

FIG. 4 shows a relational database embodiment of POS computer database20A. POS computer database 20A includes RS product purchase historytable 360′, inventory stock table 420, and coupon discount table 430.

RS product purchase history table 360′ has the same data fields as table360. However, RS product purchase history table 360′ preferably onlystores product purchase history for transactions that occurred in RS1.Inventory stock table 420 stores by product identifier (UPC code) thenumber of product items in stock. Coupon discount table 430 storescoupon identification C in association with a discount to include for apurchase including the coupon identification. In operation, the local CS80 may use the coupon discount table to determine discounts to apply toa customer's purchase transaction. See the data for coupons and theirdiscounts shown in table 360′.

FIG. 5 shows a relational database embodiment of incentive computerdatabase 30A including RS image objects table 310′, Marketingcommunications table 320′, RS targeting table 340′, RS product purchasehistory table 360′, and SVG library code 510. The RS tables 310′, 320′,340′, and 360′ have the same data structure as tables 310, 320, 340, and360. However, tables 310, 320′, 340′, and 360′ store only data from orfor RS1. SVG code library 510 is software code capable of rendering SVGfiles to generate a single image file as specified by the SVG file,including any image object files referenced by the SVG file.

Preferably, incentive computer 30 determines when a CID read at POSterminal 50 matches a CID stored in targeting table 340′, responds bygenerating an image file in Windows GDI format for an associatedmarketing incentive, and transmitting that file to POS color printer 40.

Preferably, incentive computer 30 periodically or a-periodicallytransmits new data for RS1 in table 360′ not yet transmitted to centralCS 10 to central CS 10.

FIG. 6 shows contents of POS color printer database 40A. This datapreferably includes coupon image files data 610, register receipt data620, printer driver 630, printer/print head control 640, and printerqueue memory 650.

Each file in coupon image files data 610 includes image data for one ormore marketing communications, typically coupons. Register receipt data620 includes data for printing descriptions and quantities and prices ofitems purchased, discounts applied to the purchase, and transactioncurrency total.

Alternatively, coupon image files data 610 may be a single image filecontaining any and all marketing communications data.

Alternatively, both coupon image files data and register receipt datamay be merged by local CS 80 into a single file, such as a file inWindows (trademark) GDI format, prior to transmission to POS colorprinter 40. In this case, register receipt data 620 and coupon imagefiles data 610 are a single merged data file in POS color printerdatabase 40A.

Printer driver 630 preferably converts RGB color data to CMYK or CMYcolor data for printing, and orders the data into a data stream fortransmission to printer queue memory. Printer queue memory 650 stores insequence commands to issue to print heads (structures that transmit inkto paper) and to paper position controllers, such as paper rollers.

Optionally, POS color printer database 40A also includes a separateprinter/head control 640 for rewinding printer paper to enableconsecutive printing by more than one print head with at least one printhead facing each side of a paper roll.

In embodiments in which local CS 80 sends to POS color printer 40 morethan one file for printing for a transaction, such as a register receiptfile and one or more marketing communication, business rules may beimplemented to ensure reliability and minimize transaction time. Forexample, POS color printer 40 may implement time out code such that itwill print a register receipt file after a specified time has elapsed,such as 2 seconds, after receipt of that file, if it has not by thenreceived coupon image files data. In addition, it may include code fordetermining print length of register receipt information and printlength of marketing communication, for printing register receipt ormarketing communication on one side of paper, rewinding the paper byabout the length of the first print, and then printing to the secondside of the paper for the other print.

FIG. 7 shows flow chart 700 showing steps occurring in network CS 1.

In step 705, central CS 10 receives coupon data, which may include imagedata or image files.

In step 710, central CS 10 generates SVG files from the coupon data.

In step 715, central CS 10 generates modified image data for the imagedata or image files associated with each SVG file.

In step 720, central CS 10 associates certain SVG files with certainCIDs local CS 80 (RS1). The CIDs are ones previously received from localCS 80. The SVG files are those that meet targeting criteria applied tothose CIDs.

In step 725, central CS 10 determines which of the SVG and associatedimage object files have not previously been sent to RS1. It may do thisby filtering the SVG newly associated with CIDs for RS1 against adatabase of SVGs previously transmitted to RS1. For each new SVG forRS1, there may be corresponding new image files for RS1.

In step 730, central CS 10 transmits data to local CS 80. This data mayinclude the new CIDs and associated SVG and image files for RS1.

In step 735, local CS 80 identifies a CID as being involved in atransaction at POS terminal 50. In the preferred embodiment, thisfunction is performed by incentive computer 30.

In step 740, local CS 80 identifies any SVG files stored in local CS 80in association with that CID. In the preferred embodiment, this functionis performed by incentive computer 30.

In step 745, local CS 80 renders to image files the associated SVGs. Inthe preferred embodiment, this function is performed by incentivecomputer 30.

In step 750, POS color printer 40 prints the rendered SVGs and registerreceipt for the transaction.

In step 755, local CS 80 transmits transaction logs to central CS 10.

In step 750, local CS 80 renders the SVGs and their associated imagefiles to a single image file per SVG or set of SVGs. These image filesmay saved in Windows (Trademark) GDI format.

1. A network CS comprising: a central CS remote from a first RS; a plurality of local CSs including a first local CS; said first local CS logging transactions occurring at POS in said first RS; said central CS storing a first set of image objects associated with marketing SVG files previously transmitted from said central CS to said first local CS; said central CS designed to associate with a set of first local CS CIDs a set of marketing SVG files, thereby forming a first CID/SVG targeting set for said first local CS; said central CS designed to determine from image objects associated with marketing SVG files in said first CID/SVG targeting set and said first set of image objects, a second set of image objects not previously transmitted to said first local CS; and said central CS configured to transmit said second set of image objects to said first local CS.
 2. The network CS of claim 1 further comprising determining those marketing SVG files not previously transmitted to said first local CS; and transmitting firm said central CS to said first local CS those marketing SVG files not previously transmitted to said first local CS.
 3. The network CS of claim 1 wherein said a set of marketing SVG files transmitted from said central CS to said first local CS reference a specified image object.
 4. The network CS of claim 1 wherein said first local CS comprises a POS computer, a POS terminal, and a POS color printer.
 5. The network CS of claim 4 wherein said first local CS further comprises an incentive computer;
 6. The network CS of claim 5 wherein said incentive computer stores an SVG code library.
 7. The network CS of claim 6 wherein said incentive computer either SVG files in association with CIDs, and stores image objects in association with SVG files.
 8. The network CS of claim 7 wherein said incentive computer is configured to receive a CID read by said POS terminal, determined an SVG associated with said CID, render said SVG to a marketing communication image file, and transmit said marketing communication image file to said POS color printer.
 9. A method of using a network CS comprising: providing a central CS remote from a first RS; providing a plurality of local CSs including a first local CS; logging in said first local CS transactions occurring at POS in said first RS; storing in said central CS a first set of image objects associated with marketing SVG files previously transmitted from said central CS to said first local CS; associating in said central CS with a set of first local CS CIDs a set of marketing SVG files, thereby forming a first CID/SVG targeting set for said first local CS; determining in said central CS from image objects associated with marketing SVG files in said first CID/SVG targeting set and said first set of image objects, a second set of image objects not previously transmitted to said first local CS; and transmitting from said central CS said second set of image objects to said first local CS.
 10. A computer implemented method of reducing a quantity of ink used by a color printer in printing a colored image, comprising: reading from computer memory a first color value for a first color of a pixel of an original colored image object, said color printer designed to print a first quantity of ink for said first color value; determining a second quantity of inks sufficient for said color printer to print said first color, said second quantity of inks less than said first quantity of inks; determining a second color value for which said color printer prints approximately said second quantity of inks, said second color value different from said first color value; and generating a modified colored image object from said original image object in which at said second color value is associated with said pixel.
 11. The method of claim 10 wherein said first color value and said second color value specify values for red, green, and blue colors.
 12. The method of claim 11 wherein said color printer converts red, green, and blue color values to at least cyan, magenta, and yellow color values.
 13. The method of claim 10 further comprising the steps of reading first color values for all pixels of said original colored image object, determining quantities of inks required for said color printer to print said first color values for all pixels of said original colored image object, determining second quantities of inks sufficient for said color printer to print said first colors for all pixels of said original colored image object, determining second colors values for which said color printer prints approximately said second quantities of inks for all pixels of said original colored image object, and generating said modified image object from said original image object in which said second color values are associated with all pixels.
 14. The method of claim 10 wherein said determining a second quantity of inks depends upon one or more of the following properties of the print paper: basis weight; caliper; thickness; density; tensile strength; smoothness; brightness/whiteness; gloss; opacity, tearing strength; porosity; air permeance; elasticity; ink bleed; and abrasion.
 15. The method of claim 10 wherein said determining a second quantity of inks depends upon printer driver for said printer.
 16. The method of claim 10 wherein said determining a second quantity of inks depends upon at least one dimension of said original colored image object.
 17. The method of claim 10 wherein said determining a second quantity of inks depends upon whether said original colored image object has a property indicating it is printed as foreground.
 18. The method of claim 10 wherein said determining a second quantity of inks depends upon whether said original colored image object has a property indicating it is printed as background.
 19. The method of claim 10 wherein said determining a second quantity of inks depends upon whether said original colored image object defines text.
 20. The method of claim 10 further comprising printing said colored image by printing including said modified colored image object. wherein said modified image object
 21. A computer system for reducing a quantity of ink used by a color printer in printing a colored image, comprising: a central processor; a memory; a color printer; wherein said memory stores code for reading a first color value for a first color of a first pixel of an original colored image object; wherein said color printer is designed to print a first quantity of ink for said first color value; wherein said memory stores code for determining a second quantity of inks sufficient for said color printer to print said first color, said second quantity of inks less than said first quantity of inks; wherein said memory stores code for determining a second color value for which said color printer prints approximately said second quantity of inks, said second color value different from said first color value; and wherein said memory stores code for generating a modified colored image object from said original image object in which at said second color value is associated with said first pixel. 